1.1. Teoría de objetos
MiCarro.Velocidad = 20 Tacómetro = MiCarro.Velocidad NombreDeObjeto.Propiedad = Valor Variable = NombreDeObjeto.Propiedad MiCarro.Acelerar 20 NombreDeObjeto.Método [Arg1, Arg2,...] NombreDeObjeto.Método Variable = NombreDeObjeto.Método([Arg1, Arg2,...]) MiCarro_CambioDeVelocidad MiCarro_Encendido MiCarro_Estacionarse NombreDeObjeto_NombreDeEvento Private Sub MiCarro_CambioDeVelocidad() {Área de código para mostrar velocidad} End Sub Private Sub NombreDeObjeto_NombreDeEvento() {Área de código} End Sub Private Sub Form_Click() {Área de código para un clic sobre el Form} End Sub Private Sub Form_DblClick() {Área de código para un doble clic sobre el Form} End Sub Private Sub Form_Click() {Área de código para un clic sobre el formulario} End Sub Private Sub cmdBotón_Click() {Área de código para un clic sobre el botón} End Sub
1.1.1. Clase
La Clase es un patrón (horma, molde, plantilla) que define las características de un objeto y describe qué apariencia y comportamiento debe tener el objeto. La clase define las propiedades del objeto y los métodos utilizados para controlar el comportamiento del objeto. Podríamos decir que existe la clase mamíferos, la clase estudiantes o la clase profesor. Como ejemplos de Visual Basic se tiene
1.1.2. Objeto
Cuando crea una aplicación en Visual Basic trabaja con objetos. Puede usar los objetos que proporciona Visual Basic como controles, formularios y objetos de acceso a datos. También puede controlar objetos de otras aplicaciones desde su aplicación de Visual Basic. Puede incluso crear sus propios objetos y definir propiedades y métodos adicionales para ellos.
El objeto se define como la instancia de una clase que combina datos (propiedades) y procedimientos (métodos) que pueden ser tratados como una unidad, por ejemplo un control, formulario, o aplicación. Cada objeto está definido por una clase. Para comprender la relación entre un objeto y su clase, piense en el molde de las galletas y las galletas. El molde es la clase que define las características de cada galleta, como por ejemplo el tamaño y
1.1.3. Propiedades
En Visual Basic, los datos de un objeto (características, datos o atributos) se llaman propiedades. Puede cambiar las características de un objeto si modifica sus propiedades. Piense en la clase “Automóvil”, y en el objeto “MiCarro” como instancia de
En el ejemplo anterior se estableció el valor de una propiedad. Las propiedades también pueden devolver sus valores de la siguiente manera:
En los ejemplos anteriores y en adelante el signo igual “=” se lee como “se le asigna”. Este signo se usa en BASIC para asignar el valor de la parte izquierda a la parte derecha del signo. De esta manera, el primer ejemplo se lee “Propiedad Velocidad de MiCarro se le asigna
Se pueden establecer casi todas las propiedades en tiempo de diseño usando una ventana del IDE de Visual Basic conocida como Propiedades sin tener que escribir código alguno. Otras propiedades no están disponibles en tiempo de diseño, ya que no aparecen en la ventana de propiedades, por lo que se necesitará escribir código para establecer u obtener esas propiedades en tiempo de ejecución.
Por otra parte, es posible que durante la ejecución del programa ciertas propiedades no puedan ser modificadas, mientras que otras sí. En este sentido se tienen los siguientes tipos de propiedades:
a) Propiedades de lectura y escritura
Las propiedades cuyo valor se puede establecer y obtener en tiempo de ejecución se llaman propiedades de lectura y escritura.
b) Propiedades de sólo lectura
Las propiedades que sólo se pueden leer (obtener su valor), pero que no se pueden cambiar (establecer) en tiempo de ejecución se conocen como propiedades de sólo lectura. Estas propiedades sólo se pueden cambiar en tiempo de diseño.
Por ejemplo,
En general, para cambiar (establecer) el valor de la propiedad de un objeto en tiempo de ejecución, se utiliza la sintaxis siguiente:
También para leer (obtener) el valor de la propiedad de un objeto en tiempo de ejecución se utiliza la sintaxis siguiente:
Sugerencia: Si va a usar el valor de una propiedad más de una vez, el código se ejecutará más rápidamente si almacena el valor en una variable.
1.1.4. Métodos
Corresponden a los diversos procedimientos que pueden operar sobre el objeto. Los métodos son parte de los objetos del mismo modo que las propiedades. Generalmente, los métodos son acciones que desea o está posibilitado a realizar el objeto, mientras que las propiedades son los atributos que puede establecer o recuperar. Se podría decir que MiCarro tiene un método "Acelerar" y podría usar la siguiente sintaxis para cambiar la velocidad:
Los métodos pueden afectar a los valores de las propiedades e inclusive activar procedimientos de evento que veremos mas adelante. En el ejemplo de MiCarro, el método Acelerar cambia
De ahora en adelante, en las sintaxis generales, los elementos que aparezcan entre corchetes [ ] son opcionales de
Si el método devuelve un valor útil, debe asignar el valor a una variable y utilizar paréntesis con o sin argumentos como se muestra a continuación:
1.1.5. Evento
Un evento es una acción reconocida por un objeto, como cuando el usuario hace clic con el Mouse o presiona una tecla. Los eventos no sólo son producidos por el usuario, también pueden ser ocasionados por el sistema, por aplicaciones externas, e inclusive por la misma aplicación. Por ejemplo, MiCarro podría tener los eventos "CambioDeVelocidad”, “Estacionarse”, Encendido”, “GiroIzquierdo”, etc. La sintaxis para alguno de estos eventos de MiCarro sería:
En Visual Basic la sintaxis general para el evento de un objeto es:
1.1.6. Procedimientos de evento
Un procedimiento de evento es una sección de código que se ejecuta cuando se produce el evento sobre un objeto determinado. Las aplicaciones controladas por eventos ejecutan código Basic como respuesta a un evento. Cada objeto de Visual Basic tiene un conjunto de eventos predefinidos. Si se produce uno de esos eventos, y su procedimiento de evento tiene código asociado, Visual Basic ejecuta ese código. A cada evento le corresponde una sección de código que es lo que se conoce como un procedimiento de evento. Cuando se desea que un control responda a un evento, se escribe código en el procedimiento de ese evento. El objeto MiCarro tiene un código en el procedimiento de evento CambioDeVelocidad, el cual define los pasos para mostrar la velocidad actual en el tacómetro, por ejemplo; y su estructura sería:
De modo que un procedimiento de evento en Visual Basic, es de la forma:
Distintos tipos de eventos pueden ser reconocidos por un mismo objeto; por ejemplo, el objeto Form es susceptible al evento Click, y también al evento DblClick. El código de respuesta a los eventos, en cada caso, estará en lugares diferentes.
Por otra parte, distintos tipos de objetos pueden ser susceptibles a un mismo evento. Por ejemplo, la mayoría de los objetos reconocen el evento Click. Si el usuario hace clic sobre el cuerpo del formulario, o sobre el área de un botón de comando, se ejecutan códigos diferentes:
1.1.7. Encapsulación
Esta característica de la OOP es la facultad de unificar el código y los datos que la clase u objeto contiene, así como ocultar el código que maneja dicha información. La encapsulación nos ayuda a olvidarnos de cual es la implementación realizada en los procedimientos y datos (métodos y propiedades) de una clase, para que sólo nos preocupemos de cómo usarlos. La encapsulación es la característica que permite ocultar cómo están codificados los métodos y propiedades de las clases. El mero hecho de crear un método o una propiedad en una clase ya implica que estamos usando la característica de la encapsulación en Visual Basic.
1.1.8. Polimorfismo
Muchas clases pueden proporcionar la misma propiedad o el mismo método y el que llama no tiene por qué saber la clase a la que pertenece el objeto antes de llamar a la propiedad o al método. Por ejemplo, una clase Automóvil y una clase Avión podrían tener la misma propiedad Velocidad o el mismo método Acelerar. El polimorfismo significa que puede establecer la Velocidad o invocar Acelerar sin saber si el objeto es MiCarro o MiAvión. Todos los métodos implementados en las clases deben tener una forma única de comportarse, y las propiedades de las clases deben ser consistentes con la información que corresponde tratar. El polimorfismo sería el contrato firmado para que esos procedimientos y datos se utilicen de forma adecuada. Se dice que una clase es polimórfica cuando podemos usar sus métodos y propiedades sin importarnos qué objeto los implementa. El Polimorfismo en Visual Basic se puede usar de dos formas diferentes, según se compruebe si el miembro de una clase (propiedad o método) pertenece al objeto que lo utiliza, en tiempo de diseño o en tiempo de ejecución.
